package com.wan.core.timer.round;

import java.time.Duration;
import java.time.LocalDateTime;

/**
 * 层级轮规则
 * @author wwh
 * @date 2022/6/27 20:31
 */
public interface IRoundWheel {
    /**
     * 上一级
     */
    IRoundWheel getParent();
    /**
     * 该层级槽位数
     */
    int getBucketNumber();

    /**
     * 计算时间所处槽位 （索引从0开始）
     * @param duration 槽位间隔时间
     */
    int calculateCurrentBucket(LocalDateTime localDateTime,Duration duration);


}
